package com.ruoyi.fun.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品对象 ec_product
 * 
 * @author ruoyi
 * @date 2025-08-06
 */
public class EcProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品ID */
    private Long productId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 商品编码 */
    @Excel(name = "商品编码")
    private String productCode;

    /** 分类ID */
    @Excel(name = "分类ID")
    private Long categoryId;

    /** 品牌ID */
    @Excel(name = "品牌ID")
    private Long brandId;

    /** 商品类型 */
    @Excel(name = "商品类型")
    private String productType;

    /** 主图片 */
    @Excel(name = "主图片")
    private String mainImage;



    /** 商品详情 */
    @Excel(name = "详情")
    private String detail;

    /** 价格 */
    @Excel(name = "价格")
    private BigDecimal price;

    /** 原价 */
    @Excel(name = "原价")
    private BigDecimal originalPrice;

    /** 成本价 */
    @Excel(name = "成本价")
    private BigDecimal costPrice;

    /** 库存数量 */
    @Excel(name = "库存")
    private Long stock;

    /** 库存预警值 */
    @Excel(name = "低库存预警")
    private Long lowStock;

    /** 重量（kg） */
    @Excel(name = "重量")
    private BigDecimal weight;

    /** 体积（立方米） */
    @Excel(name = "体积")
    private BigDecimal volume;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 关键词 */
    @Excel(name = "关键词")
    private String keywords;

    /** 商品描述（富文本） */
    @Excel(name = "描述")
    private String description;

    /** 销量 */
    @Excel(name = "销量")
    private Long saleCount;

    /** 浏览量 */
    @Excel(name = "浏览量")
    private Long viewCount;

    /** 评论数 */
    @Excel(name = "评论数")
    private Long commentCount;

    /** 是否新品 */
    @Excel(name = "是否新品")
    private String isNew;

    /** 是否热销 */
    @Excel(name = "是否热销")
    private String isHot;

    /** 是否推荐 */
    @Excel(name = "是否推荐")
    private String isRecommend;

    /** 上架状态 */
    @Excel(name = "发布状态")
    private String publishStatus;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private String verifyStatus;

    /** 排序 */
    @Excel(name = "排序")
    private Integer sortOrder;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 删除标志 */
    private String delFlag;

    /** 组织ID */
    @Excel(name = "组织ID")
    private Long orgId;

    @Override
    public String getRemark() {
        return super.getRemark();
    }

    @Override
    public void setRemark(String remark) {
        super.setRemark(remark);
    }

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }

    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }

    public void setProductCode(String productCode) 
    {
        this.productCode = productCode;
    }

    public String getProductCode() 
    {
        return productCode;
    }

    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }

    public void setBrandId(Long brandId) 
    {
        this.brandId = brandId;
    }

    public Long getBrandId() 
    {
        return brandId;
    }

    public void setProductType(String productType) 
    {
        this.productType = productType;
    }

    public String getProductType() 
    {
        return productType;
    }

    public void setMainImage(String mainImage) 
    {
        this.mainImage = mainImage;
    }

    public String getMainImage() 
    {
        return mainImage;
    }



    public void setDetail(String detail) 
    {
        this.detail = detail;
    }

    public String getDetail() 
    {
        return detail;
    }

    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }

    public void setOriginalPrice(BigDecimal originalPrice) 
    {
        this.originalPrice = originalPrice;
    }

    public BigDecimal getOriginalPrice() 
    {
        return originalPrice;
    }

    public void setCostPrice(BigDecimal costPrice) 
    {
        this.costPrice = costPrice;
    }

    public BigDecimal getCostPrice() 
    {
        return costPrice;
    }

    public void setStock(Long stock) 
    {
        this.stock = stock;
    }

    public Long getStock() 
    {
        return stock;
    }

    public void setLowStock(Long lowStock) 
    {
        this.lowStock = lowStock;
    }

    public Long getLowStock() 
    {
        return lowStock;
    }

    public void setWeight(BigDecimal weight) 
    {
        this.weight = weight;
    }

    public BigDecimal getWeight() 
    {
        return weight;
    }

    public void setVolume(BigDecimal volume) 
    {
        this.volume = volume;
    }

    public BigDecimal getVolume() 
    {
        return volume;
    }

    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }

    public void setKeywords(String keywords) 
    {
        this.keywords = keywords;
    }

    public String getKeywords() 
    {
        return keywords;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setSaleCount(Long saleCount) 
    {
        this.saleCount = saleCount;
    }

    public Long getSaleCount() 
    {
        return saleCount;
    }

    public void setViewCount(Long viewCount) 
    {
        this.viewCount = viewCount;
    }

    public Long getViewCount() 
    {
        return viewCount;
    }

    public void setCommentCount(Long commentCount) 
    {
        this.commentCount = commentCount;
    }

    public Long getCommentCount() 
    {
        return commentCount;
    }

    public void setIsNew(String isNew) 
    {
        this.isNew = isNew;
    }

    public String getIsNew() 
    {
        return isNew;
    }

    public void setIsHot(String isHot) 
    {
        this.isHot = isHot;
    }

    public String getIsHot() 
    {
        return isHot;
    }

    public void setIsRecommend(String isRecommend) 
    {
        this.isRecommend = isRecommend;
    }

    public String getIsRecommend() 
    {
        return isRecommend;
    }

    public void setPublishStatus(String publishStatus) 
    {
        this.publishStatus = publishStatus;
    }

    public String getPublishStatus() 
    {
        return publishStatus;
    }

    public void setVerifyStatus(String verifyStatus) 
    {
        this.verifyStatus = verifyStatus;
    }

    public String getVerifyStatus() 
    {
        return verifyStatus;
    }

    public void setSortOrder(Integer sortOrder) 
    {
        this.sortOrder = sortOrder;
    }

    public Integer getSortOrder() 
    {
        return sortOrder;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public void setOrgId(Long orgId) 
    {
        this.orgId = orgId;
    }

    public Long getOrgId() 
    {
        return orgId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("productId", getProductId())
            .append("productName", getProductName())
            .append("productCode", getProductCode())
            .append("categoryId", getCategoryId())
            .append("brandId", getBrandId())
            .append("productType", getProductType())
            .append("mainImage", getMainImage())

            .append("detail", getDetail())
            .append("price", getPrice())
            .append("originalPrice", getOriginalPrice())
            .append("costPrice", getCostPrice())
            .append("stock", getStock())
            .append("lowStock", getLowStock())
            .append("weight", getWeight())
            .append("volume", getVolume())
            .append("unit", getUnit())
            .append("keywords", getKeywords())
            .append("description", getDescription())
            .append("saleCount", getSaleCount())
            .append("viewCount", getViewCount())
            .append("commentCount", getCommentCount())
            .append("isNew", getIsNew())
            .append("isHot", getIsHot())
            .append("isRecommend", getIsRecommend())
            .append("publishStatus", getPublishStatus())
            .append("verifyStatus", getVerifyStatus())
            .append("sortOrder", getSortOrder())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
